﻿namespace Digitalmes.Domain.Entities.Mes.Processes;

/// <summary>
/// 工步参数。
/// </summary>
[SugarTable("proc_operation_step_param")]
public sealed class ProcOperationStepParam : AuditedEntity
{
    /// <summary>
    /// 工步 Id
    /// </summary>
    public long StepId { get; set; }

    /// <summary>
    /// 参数符号
    /// </summary>
    /// <remarks>映射到设备接口（如 PLC 地址）</remarks>
    [NotNull]
    public string? Symbol { get; set; }

    /// <summary>
    /// 参数映射值索引，默认为 0。
    /// </summary>
    /// <remarks>与 Symbol 关联，若映射的地址为数组，此为数组序号（从 1 开始）。</remarks>
    public int SymbolIndex { get; set; }

    /// <summary>
    /// 参数名称（例如拧紧，可以为拧紧孔位编号）
    /// </summary>
    [NotNull]
    public string? ParamName { get; set; }

    /// <summary>
    /// 取值类型（1->区间值，2->标准值），默认是区间值。
    /// </summary>
    public int ValueType { get; set; } = 1;

    /// <summary>
    /// 标准值
    /// </summary>
    public double Standard { get; set; }

    /// <summary>
    /// 下限值
    /// </summary>
    public double MinLimit { get; set; }

    /// <summary>
    /// 上限值
    /// </summary>
    public double MaxLimit { get; set; }
}
